﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using YasharEl.Infrastructure.EntityModel;
using YasharEl.Infrastructure.Core.Personification;

namespace YasharEl.Infrastructure.OrgUnit
{
    public interface IEmployee : IReadOnlyEntity<long>
    {
        long EmployeeId { get; }

        IsraelIdentityNumber IdentityNumber { get; }

        long EmployeeNumber { get; }

        Name EnglishName { get; }
        Name HebrewName { get; }

        DateTime BirthDate { get; }

        string Username { get; }

        Gender Gender { get; }

        Occupation CurrentOccupation { get; }

        DateTime HiredFrom { get; }
        DateTime? HiredUntil { get; }

        IManager DirectManager { get; }

        IOrganizationalUnit BelongsToUnit { get; }

        Job JobPosition { get; }
    }
}
